Socio-technical systems include social structures of actors or people and technical structures of products that people create with their work. A socio-technical software network is a combined model that represents software developers and their relationships, software artifacts (e.g., design documents, packages, modules, classes, methods, error reports, etc.) and their relationships, linkage between developers and artifacts, and their attributes. Analyzing the importance of relationships, more generally known as linkages or links, in the model helps in describing the extent of each link's importance with respect to the overall consistency between the social structure and the technical product structure. The term consistency refers to a more general form of organizational congruence than referred to in e.g., (M. Cataldo, P. A. Wangstrom, J. D. Herbsleb, and K. M. Carley, “Identification of Coordination Requirements: Implications for the Design of Collaboration and Awareness Tools”, in Proceedings of the Conference on Computer Supported Cooperative Work (CSCW '06), Banff, Alberta, Canada, Nov. 4-8, 2006, herein referred to as “Cataldo et al.”) or (Burton, R. M. and Obel, B. Strategic Organizational Diagnosis and Design. Kluwer Academic Publishers, Norwell, Mass., 1998, herein referred to as “Burton et al.”). These measurements can be used for system diagnosis, design and/or organizational optimization. For example, such analysis may be used to determine how well a particular organization is structured to handle a particular project.
The measure of consistency addressed in the present disclosure extends well beyond the notion of congruence, which is a measurement traditionally considered in organizational design, see for example, Burton et al. The notion of consistency is based on a set of identifiable reference patterns within the network model of the social technical system. Note that these patterns are specifically related to recognizable structural aspects of the network, as opposed to organizational patterns (see, for example, “Organizational Patterns of Agile Software Development” by James Coplien and Neil Harrison, Pearson Prentice Hall, 2005). While consistency is a measurement that addresses the alignment of subnetworks that may be organized on different plane, note that it is not network (or graph) comparison of the type in the approach by e.g., “Design Pattern Detection Using Similarity Scoring” by Nikolaos Tsantalis, Alexander Chatzigeorgiou, George Stephanides, and Spyros T. Halkidis, IEEE Transactions On Software Engineering, Vol. 32, No. 11, November 2006.
Measurements may be determined that indicate how much the structure of a development organization mirrors other aspects of the project such as work items assigned to groups and individuals in the organization, and work actually carried out in terms of software components developed by the organization. Known solutions for determining such measurements use non-analytical methods of comparison. Such non-analytical methods of comparison rely on subjective assessments and may be incomplete, and difficult to automate. While a semi-analytical approach is described in Cataldo et al., that methodology uses matrix algebra to compute a congruence metric and concerns tasks, however, but does not address measuring importance of a given link, does not analyze the network directly, and does not analyze components of the work product output by tasks. Further, both non-analytical and semi-analytical methods do not consider detailed structure of the underlying components in the comparison.
Therefore, an improved methodology, for example, which takes into account various attributes and which can be automated is desirable. Further, it is desirable to have such methodology provide measurements that are time phased, for example, to determine how variations of level of such measurements in time within the same project influence performance and quality. It is also desirable to have such methodology provide a measurement of importance at the component (link) level, as well as a consistency measurement at the overall system level.